package so.sao.shop.supplier.pojo.input;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import so.sao.shop.supplier.pojo.vo.RefuseOrderImgVo;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 *<p>Version: </p>
 *<p>Title: AppApplyForServiceInput</p>
 *<p>Description: </p>
 *@author: hanchao
 *@Date: Created in 2017/11/27 10:41
 */
@Getter
@Setter
public class AppApplyForServiceInput {
    /**
     * 详情编号
     */
    @NotNull(message = "详情编号不能为空!")
    private Long detailsId;
    /**
     * 商品属性
     */
    private String goodsAttribute;
    /**
     * 商品编号
     */
    private Long goodsId;

    /**
     * 商品条码
     */
    private String code69;

    /**
     * 商品数量
     */
    private Integer goodsNumber;
    /**
     * 商品单价
     */
    private BigDecimal goodsUnitPrice;
    /**
     * 商品总价
     */
    private BigDecimal goodsTatolPrice;
    /**
     * 商品优惠
     */
    private BigDecimal goodsFavourable;
    /**
     * 商品图片
     */
    private String goodsImage;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 订单ID
     */
    private String orderId;
    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 合并支付ID
     */
    private String payId;

    /**
     * 0.已完成(初始化状态),1.退款/换货申请中,2.审核通过,3.拒绝退款/换货,4.退款/换货中,5.已退款/已换货,6.退货/换货取消
     */
    private Integer  status;

    /**
     * 退换货原因
     * @return
     */
    @Size(max = 200 , message = "字数不能超过200!")
    private String returnReason;

    /**
     * 退换货说明
     */
    @Size(max = 200 , message = "字数不能超过200!")
    private String returnRemarks;

    /**
     * 拒绝原因
     */
    @Size(max = 200 , message = "字数不能超过200!")
    private String refuseReason;

    /**
     * 0.退货退款,1.换货
     */
    @NotNull(message = "退换货类型不能为空!")
    private Integer type;

    /**
     * 退款/换货单号
     */
    private String returnNumber;

    /**
     * 申请时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date applyForTime;

    /**
     * 审核时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date checkTime;

    /**
     * 退回商品時間
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date returnTime;

    /**
     * 退款时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date returnMoneyTime;

    /**
     * 发货时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date sendTime;

    private List<RefuseOrderImgVo> refuseOrderImgVos;

}
